www.gusucode.com > VC++ Mp3音乐播放器(支持歌词同步显示)-源码程序 > VC++ Mp3音乐播放器(支持歌词同步显示)-源码程序/code/mp3播放器(vc++) 支持歌词同步显示哦/TransparentStatic.cpp
//Download by http://www.NewXing.com // TransparentStatic.cpp : implementation file // #include "stdafx.h" #include "MyPlayer.h" #include "TransparentStatic.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #define ID_TIP 1 ///////////////////////////////////////////////////////////////////////////// // CTransparentStatic CTransparentStatic::CTransparentStatic() { } CTransparentStatic::~CTransparentStatic() { } BEGIN_MESSAGE_MAP(CTransparentStatic, CStatic) //{{AFX_MSG_MAP(CTransparentStatic) ON_WM_CTLCOLOR_REFLECT() ON_WM_SETCURSOR() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTransparentStatic message handlers void CTransparentStatic::PreSubclassWindow() { // TODO: Add your specialized code here and/or call the base class DWORD dwStyle=GetStyle(); SetWindowLong(GetSafeHwnd(),GWL_STYLE,dwStyle|SS_NOTIFY); SetDefaultCursor(); CRect rect; GetClientRect(&rect); m_ToolTip.Create(this); m_ToolTip.SetDelayTime(100); m_ToolTip.SetMaxTipWidth(200); m_ToolTip.AddTool(this,"",rect,ID_TIP); CStatic::PreSubclassWindow(); } HBRUSH CTransparentStatic::CtlColor(CDC* pDC, UINT nCtlColor) { // TODO: Change any attributes of the DC here // pDC->SetBkMode(TRANSPARENT); pDC->SetBkColor(RGB(0,0,0)); pDC->SetTextColor(RGB(0,255,0)); // TODO: Return a non-NULL brush if the parent's handler should not be called return (HBRUSH)GetStockObject(NULL_BRUSH); } BOOL CTransparentStatic::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class m_ToolTip.RelayEvent(pMsg); return CStatic::PreTranslateMessage(pMsg); } void CTransparentStatic::SetCursor(HCURSOR hCursor) { m_hCursor=hCursor; } void CTransparentStatic::SetToolTipText(CString strText) { m_ToolTip.UpdateTipText(strText,this,ID_TIP); } void CTransparentStatic::SetDefaultCursor() { m_hCursor=LoadCursor(NULL,MAKEINTRESOURCE(32649)); } BOOL CTransparentStatic::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call default if(m_hCursor!=NULL){ ::SetCursor(m_hCursor); return TRUE; } return FALSE; }